EV: Replicating Multithreaded Servers
نویسندگان
چکیده
This poster presents EV, a new ExecuteVerify architecture that allows state machine replication to scale to multi-core servers. EV departs from the traditional agree-execute architecture of state machine replication: replicas first concurrently and nondeterministically execute requests; then they verify, agree, and converge on the state and the outputs produced by a correct replica. EV minimizes divergence through a mixer stage that applies application-specific rules to organize requests into batches of requests that are unlikely to interfere. Our evaluation suggests that EV’s unique ability to combine execution independence with nondeterminism enables high-performance replication for multi-core servers while offering tolerance to a wide range of faults, including elusive concurrency bugs.
منابع مشابه
Virtual Threads
Multithreaded servers, while relatively simple to design and to implement, tend not to scale well for large numbers of concurrent users. Event-driven servers, which do scale well, are generally more difficult to design, write, and debug than multithreaded servers. Virtual Threads is a new server programming model in which the programmer writes a multithreaded server and a preprocessor automatic...
متن کاملDesigning I/O Servers on Multithreaded Microkernels
This paper discusses the issues involved in supporting fast I/O operations using multi-threaded microkernels. For microkernels most of the I/O operations are performed by system servers running at the user level. Thus, we will concentrate in this paper on the design of system servers for I/O. Multithreading in such microkernels provides the extra functionality in a server to serve more than one...
متن کاملDeterministic Scheduling for Transactional Multithreaded Replicas
One way to implement a fault-tolerant a service is by replicating it at sites that fail independently. One of the replication techniques is active replication where each request is executed by all the replicas. Thus, the effects of failures can be completely masked resulting in an increase of the service availability. In order to preserve consistency among replicas, replicas must exhibit a dete...
متن کاملAnalytic performance models for single class and multiple class multithreaded software servers
Modern computer systems are based on a wide variety of software servers, such as web servers, application servers, database servers, and mail servers. The typical software architecture of such servers includes a set of processes or threads that serve requests submitted to the server. Requests that arrive at the server and find all threads busy, are placed in a queue. Threads that are busy execu...
متن کاملJob Replication on Multiserver Systems
Parallel processing is a way to use resources efficiently by processing several jobs simultaneously on different servers. In a well-controlled environment where the status of the servers and the jobs are well known, everything is nearly deterministic and replicating jobs on different servers is obviously a waste of resources. However, in a poorly controlled environment where the servers are unr...
متن کامل